﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CalculadoraDeMatrizes
{
    class M_Determinante3x3 : MatrizBase
    {
        public override void Calcular(TextBox[,] matriz1, TextBox[,] matriz2)
        {
            base.Calcular(matriz1, matriz2);
            TextBox[,] Resultado = Gerador.getInstance().getMatriz3();
            MessageBox.Show("Determinante: " +Determinante(matriz1).ToString());

        }

        public double Determinante(TextBox[,] matriz1)
        {
            double det;
            det = ((Convert.ToDouble(matriz1[0, 0].Text) * Convert.ToDouble(matriz1[1, 1].Text) * Convert.ToDouble(matriz1[2, 2].Text)) +
                  (Convert.ToDouble(matriz1[0, 1].Text) * Convert.ToDouble(matriz1[1, 2].Text) * Convert.ToDouble(matriz1[2, 0].Text)) +
                  (Convert.ToDouble(matriz1[0, 2].Text) * Convert.ToDouble(matriz1[1, 0].Text) * Convert.ToDouble(matriz1[2, 1].Text))) -
                  ((Convert.ToDouble(matriz1[0, 2].Text) * Convert.ToDouble(matriz1[1, 1].Text) * Convert.ToDouble(matriz1[2, 0].Text)) +
                  (Convert.ToDouble(matriz1[0, 0].Text) * Convert.ToDouble(matriz1[1, 2].Text) * Convert.ToDouble(matriz1[2, 1].Text)) +
                  (Convert.ToDouble(matriz1[0, 1].Text) * Convert.ToDouble(matriz1[1, 0].Text) * Convert.ToDouble(matriz1[2, 2].Text)));

            return det;
        }

        public override bool podeCalcular(TextBox[,] matriz1, TextBox[,] matriz2)
        {
            return true;
        }
    }
}
